Adaptive filters are filters which adjust their filter parameters to obtain a desired impulse response of an unknown system. Parameter adaptation is based on signals exciting the system and the signals which are the system's response. The adaptive filter generates an error signal reflecting the difference between the adaptive filter's actual impulse response and the desired impulse response. Adaptive filters have found application in diverse areas such as data communications, where they are used in data echo cancellers and equalizers; target tracking, where they are used in adaptive beam formers; and telephony, where they are used in speech coders and electrical and acoustic echo cancellers.
In adaptive filter design, a trade-off may exist between the speed of filter convergence (to a desired impulse response) and the computational complexity imposed on the processor implementing the filter. So, for example, conventional adaptive filters such as the affine projection adaptive filter (APAF) have been shown to achieve fast convergence at the expense of great computational complexity. Because of the complexity of these techniques the filter coefficients may not be updated as often as possible, that is, every sample period. Thus, the convergence of the adaptive filter coefficients is undesirably slowed.